library(tidyverse)
library(scales)
library(readxl)
library(writexl)
library(phonR)
library(extrafont)

Daten laden

(vokale <- read_xlsx("data/S03_Vokalformanten_Diagramme.xlsx", sheet ="A1-4_alle") %>% 
  janitor::clean_names() %>% 
  select(-studierende) %>% 
  mutate(geschlecht = "f") %>% 
  select(sprecherin, geschlecht, vokal, f1, f2, dauer, lange, wort, phrase) %>% 
  mutate(l1_l2 = ifelse(sprecherin == "Deutsche", "L1", "L2")) %>% 
  mutate(vokal = str_replace(vokal, "F:", "E:")) %>% 
  mutate(vowel = vokal) # %>% 
# mutate(vowel = str_replace(vowel, "ü\\:", "ii\\:"),
#        vowel = str_replace(vowel, "Ü", "II"),
#        vowel = str_replace(vowel, "ö\\:", "ee\\:"),
#        vowel = str_replace(vowel, "Ö", "EE"))
)
## # A tibble: 180 x 11
##    sprecherin geschlecht vokal    f1    f2 dauer lange wort  phrase  l1_l2 vowel
##    <chr>      <chr>      <chr> <dbl> <dbl> <dbl> <chr> <chr> <chr>   <chr> <chr>
##  1 Deutsche   f          a       764  1746    88 kurz  Stadt Phrase~ L1    a    
##  2 Deutsche   f          a       724  1741   104 kurz  Stadt Phrase~ L1    a    
##  3 Deutsche   f          a       810  1740    55 kurz  Stadt Phrase~ L1    a    
##  4 Deutsche   f          a       735  1741    99 kurz  Stadt Phrase~ L1    a    
##  5 Deutsche   f          a      1346  2487    59 kurz  Stadt Phrase~ L1    a    
##  6 Deutsche   f          a       242  2236   162 kurz  Stadt Phrase~ L1    a    
##  7 Adelina    f          a       901  1276    79 kurz  Stadt Phrase~ L2    a    
##  8 Donna      f          a      1029  1999    48 kurz  Stadt Phrase~ L2    a    
##  9 Jasmina    f          a      1051  1877    50 kurz  Stadt Phrase~ L2    a    
## 10 Metka      f          a       722  1202   150 kurz  Stadt Phrase~ L2    a    
## # ... with 170 more rows
(vergleich <- read_xlsx("data/S03_Vokalformanten_Diagramme.xlsx", sheet ="A10_Vgl_L1_L2_tab") %>% 
  janitor::clean_names() %>% 
  mutate(phonem = str_replace(phonem, "EE", "E:")) %>% 
  rename(f1_l1 = f1_in_hz,
         f2_l1 = f2_in_hz,
         dauer_l1 = dauer_in_ms,
         vokal = phonem)
)
## New names:
## * `Phonem IPA` -> `Phonem IPA...1`
## * `Phonem IPA` -> `Phonem IPA...2`
## # A tibble: 16 x 10
##    phonem_ipa_1 phonem_ipa_2 vokal f1_l1 f2_l1 dauer_l1 f1_l2 f2_l2 dauer_l2
##    <chr>        <chr>        <chr> <dbl> <dbl>    <dbl> <dbl> <dbl>    <dbl>
##  1 "a"          /a/          a       836  1586     82.8  840. 1583.     73.7
##  2 "aù"         /a:/         a:      896  1517    154.   784  1632     208. 
##  3 "eù"         /e:/         e:      434  2461    118.   553. 2062.    140. 
##  4 "E"          /E/          E       608  2040     82.7  560  1953.     72.5
##  5 "Eù"         /E:/         E:      584  2166    126.   566. 2062.    142. 
##  6 "I"          /i:/         I       433  2095     86.8  372  1900      59.3
##  7 "iù"         /I/          i:      302  2533     54.5  344. 1982.    160. 
##  8 "\u008d"     /O/          O       605  1200     89.2  796. 1538      69  
##  9 "où"         /o:/         o:      440   889    128.   703. 1422.    124. 
## 10 "u"          /Ú/          U       442  1081     63.4  608. 1406.     58.8
## 11 "uù"         /u:/         u:      345   956     78.5  574. 1335.    120. 
## 12 "Y"          /Y/          Ü       426  1670     59.8  492. 1790      70.6
## 13 "yù"         /y:/         ü:      320  1810     97.6  461. 1858.    155  
## 14 "¿"          /œ/          Ö       564  1654     77.2  552. 1686      66  
## 15 "Où"         /ø/          ö:      440  1605    115.   580. 1741     157. 
## 16 "«"          /«/          @       572  1763     NA     NA    NA      NA  
## # ... with 1 more variable: lange <chr>
glimpse(vokale)
## Rows: 180
## Columns: 11
## $ sprecherin <chr> "Deutsche", "Deutsche", "Deutsche", "Deutsche", "Deutsche",~
## $ geschlecht <chr> "f", "f", "f", "f", "f", "f", "f", "f", "f", "f", "f", "f",~
## $ vokal      <chr> "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a",~
## $ f1         <dbl> 764, 724, 810, 735, 1346, 242, 901, 1029, 1051, 722, 768, 5~
## $ f2         <dbl> 1746, 1741, 1740, 1741, 2487, 2236, 1276, 1999, 1877, 1202,~
## $ dauer      <dbl> 88, 104, 55, 99, 59, 162, 79, 48, 50, 150, 72, 43, 184, 272~
## $ lange      <chr> "kurz", "kurz", "kurz", "kurz", "kurz", "kurz", "kurz", "ku~
## $ wort       <chr> "Stadt", "Stadt", "Stadt", "Stadt", "Stadt", "Stadt", "Stad~
## $ phrase     <chr> "Phrase 014", "Phrase 014", "Phrase 014", "Phrase 014", "Ph~
## $ l1_l2      <chr> "L1", "L1", "L1", "L1", "L1", "L1", "L2", "L2", "L2", "L2",~
## $ vowel      <chr> "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a",~
df0 <- read.csv("data/Deutsche_formants.Table.csv", stringsAsFactors = FALSE, fileEncoding = "UTF-8") 
df1a <- read.csv("data/Monika_I_formants.Table.csv", stringsAsFactors = FALSE, fileEncoding = "UTF-8") 
df1b <- read.csv("data/Monika_II_formants.Table.csv", stringsAsFactors = FALSE, fileEncoding = "UTF-8") 
df2 <- read.csv("data/Donna_formants.Table.csv", stringsAsFactors = FALSE, fileEncoding = "UTF-8")
df3 <- read.csv("data/Metka_formants.Table.csv", stringsAsFactors = FALSE, fileEncoding = "UTF-8") 
df4 <- read.csv("data/Jasmina_formants.Table.csv", stringsAsFactors = FALSE, fileEncoding = "UTF-8") 
df5 <- read.csv("data/Teodor_II_formants.Table.csv", stringsAsFactors = FALSE, fileEncoding = "UTF-8") 

df0 <- df0 %>% mutate(speaker = "Deutsche")
df1a <- df1a %>% mutate(speaker = "Monika1")
df1b <- df1b %>% mutate(speaker = "Monika2")
df2 <- df2 %>% mutate(speaker = "Donna")
df3 <- df3 %>% mutate(speaker = "Metka")
df4 <- df4 %>% mutate(speaker = "Jasmina")
df5 <- df5 %>% mutate(speaker = "Teodor")

df <- rbind(df0,df1a,df1b,df2,df3,df4,df5)

IPA suchen

# # uncomment code below if needed
# library(linguisticsdown)
# writeIPA()

IPA syms

par(family='Helvetica')
par(family = "Charis SIL")

i = "i:"
I = "ɪ"
y = "y:"
Y = "ʏ"
e = "e:"
E = "ɛ"
EE = "ɛ\u02D0"
oe = "ø:"
oe = "ø\u02D0"
# oe = "\u00F8" # wird nicht gedruckt
# oe = "\u00D8" # ok, aber eigentlich ein anderes Phonem
# oe = "\u2205" # ok, aber eigentlich ein anderes Phonem
# oe = "&#248" # wird nicht gedruckt
OE = "œ"
# OE = "\u0153"
# OE = "&#339"
schwa = "ə"
a = "a"
A = "a:"
o = "o:"
O = "ɔ"
u = "u:"
U = "ʊ"

ipavow = c(a,A,e,E,EE,I,i,O,o,U,u,Y,y,OE,oe, schwa) %>%  as_tibble() %>% rename(vowel = value)

(vergleich <- vergleich %>% cbind(ipavow) %>% select(-phonem_ipa_1, -phonem_ipa_2))
##    vokal f1_l1 f2_l1 dauer_l1    f1_l2    f2_l2  dauer_l2 lange
## 1      a   836  1586    82.82 839.5000 1582.667  73.66667  kurz
## 2     a:   896  1517   153.58 784.0000 1632.000 207.50000  lang
## 3     e:   434  2461   117.95 552.9167 2062.500 139.75000  lang
## 4      E   608  2040    82.69 560.0000 1953.167  72.50000  kurz
## 5     E:   584  2166   126.17 566.5000 2061.833 142.50000  lang
## 6      I   433  2095    86.75 372.0000 1900.000  59.33333  kurz
## 7     i:   302  2533    54.46 344.3333 1981.833 159.83333  lang
## 8      O   605  1200    89.18 796.5000 1538.000  69.00000  kurz
## 9     o:   440   889   127.55 703.3333 1422.167 124.33333  lang
## 10     U   442  1081    63.43 607.6667 1405.833  58.83333  kurz
## 11    u:   345   956    78.51 573.5000 1334.833 120.33333  lang
## 12     Ü   426  1670    59.85 492.2500 1790.000  70.57143  kurz
## 13    ü:   320  1810    97.64 461.2500 1857.500 155.00000  lang
## 14     Ö   564  1654    77.20 552.1667 1686.000  66.00000  kurz
## 15    ö:   440  1605   115.40 579.5000 1741.000 156.66667  lang
## 16     @   572  1763       NA       NA       NA        NA  <NA>
##               vowel
## 1                 a
## 2                a:
## 3                e:
## 4          <U+025B>
## 5  <U+025B><U+02D0>
## 6          <U+026A>
## 7                i:
## 8          <U+0254>
## 9                o:
## 10         <U+028A>
## 11               u:
## 12         <U+028F>
## 13               y:
## 14                œ
## 15        ø<U+02D0>
## 16         <U+0259>
# Deutsche Vokale
vowel_lookup =
  c(
    ii = "i:",
    I = "ɪ",
    yy = "y:",
    Y = "ʏ",
    ee = "e:",
    E = "ɛ",
    EE = "ɛ\u02D0",
    Ea = "ɛa",
    oe = "ø:",
    oe = "ø\u02D0",
    # oe = "\u00F8" # wird nicht gedruckt
    # oe = "\u00D8" # ok, aber eigentlich ein anderes Phonem
    # oe = "\u2205" # ok, aber eigentlich ein anderes Phonem
    # oe = "&#248" # wird nicht gedruckt
    OE = "œ",
    OOE = "œ:",
    # OE = "\u0153"
    # OE = "&#339"
    schwa = "ə",
    a = "a",
    AA = "a:",
    oo = "o:",
    O = "ɔ",
    OO = "ɔ:",
    uu = "u:",
    U = "ʊ"
    
  )

(df$IPA <- vowel_lookup[df$vowel])
##    [1] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
##    [7] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
##   [13] "i:"        "i:"        "i:"        "<U+026A>"  "<U+026A>"  "<U+026A>" 
##   [19] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
##   [25] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
##   [31] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
##   [37] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
##   [43] "e:"        "e:"        "e:"        "<U+025B>"  "<U+025B>"  "<U+025B>" 
##   [49] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##   [55] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##   [61] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##   [67] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##   [73] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "y:"        "y:"        "y:"       
##   [79] "y:"        "y:"        "y:"        "y:"        "y:"        "y:"       
##   [85] "y:"        "y:"        "y:"        "y:"        "y:"        "y:"       
##   [91] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
##   [97] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
##  [103] "<U+028F>"  "<U+028F>"  "<U+028F>"  "ø:"        "ø:"        "ø:"       
##  [109] "ø:"        "ø:"        "ø:"        "ø:"        "ø:"        "ø:"       
##  [115] "ø:"        "ø:"        "ø:"        "ø:"        "ø:"        "ø:"       
##  [121] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
##  [127] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
##  [133] "œ"         "œ"         "œ"         "a:"        "a:"        "a:"       
##  [139] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
##  [145] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
##  [151] "a"         "a"         "a"         "a"         "a"         "a"        
##  [157] "a"         "a"         "a"         "a"         "a"         "a"        
##  [163] "a"         "a"         "a"         "u:"        "u:"        "u:"       
##  [169] "u:"        "u:"        "u:"        "u:"        "u:"        "u:"       
##  [175] "u:"        "u:"        "u:"        "u:"        "u:"        "u:"       
##  [181] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
##  [187] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
##  [193] "<U+028A>"  "<U+028A>"  "<U+028A>"  "o:"        "o:"        "o:"       
##  [199] "o:"        "o:"        "o:"        "o:"        "o:"        "o:"       
##  [205] "o:"        "o:"        "o:"        "o:"        "o:"        "o:"       
##  [211] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
##  [217] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
##  [223] "<U+0254>"  "<U+0254>"  "<U+0254>"  "i:"        "i:"        "i:"       
##  [229] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
##  [235] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
##  [241] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
##  [247] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
##  [253] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##  [259] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##  [265] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##  [271] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##  [277] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##  [283] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##  [289] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##  [295] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##  [301] NA          NA          NA          NA          NA          NA         
##  [307] NA          NA          NA          NA          NA          NA         
##  [313] NA          NA          NA          "<U+028F>"  "<U+028F>"  "<U+028F>" 
##  [319] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
##  [325] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
##  [331] "œ:"        "œ:"        "œ:"        "œ:"        "œ:"        "œ:"       
##  [337] "œ:"        "œ:"        "œ:"        "œ:"        "œ:"        "œ:"       
##  [343] "œ:"        "œ:"        "œ:"        "œ"         "œ"         "œ"        
##  [349] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
##  [355] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
##  [361] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
##  [367] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
##  [373] "a:"        "a:"        "a:"        "a"         "a"         "a"        
##  [379] "a"         "a"         "a"         "a"         "a"         "a"        
##  [385] "a"         "a"         "a"         "a"         "a"         "a"        
##  [391] "u:"        "u:"        "u:"        "u:"        "u:"        "u:"       
##  [397] "u:"        "u:"        "u:"        "u:"        "u:"        "u:"       
##  [403] "u:"        "u:"        "u:"        "<U+028A>"  "<U+028A>"  "<U+028A>" 
##  [409] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
##  [415] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
##  [421] "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:"
##  [427] "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:"
##  [433] "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>"  "<U+0254>"  "<U+0254>" 
##  [439] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
##  [445] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
##  [451] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
##  [457] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
##  [463] "i:"        "i:"        "i:"        "<U+025B>a" "<U+025B>a" "<U+025B>a"
##  [469] "<U+025B>a" "<U+025B>a" "<U+025B>a" "<U+025B>a" "<U+025B>a" "<U+025B>a"
##  [475] "<U+025B>a" "<U+025B>a" "<U+025B>a" "<U+025B>a" "<U+025B>a" "<U+025B>a"
##  [481] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##  [487] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##  [493] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "y:"        "y:"        "y:"       
##  [499] "y:"        "y:"        "y:"        "y:"        "y:"        "y:"       
##  [505] "y:"        "y:"        "y:"        "y:"        "y:"        "y:"       
##  [511] "œ:"        "œ:"        "œ:"        "œ:"        "œ:"        "œ:"       
##  [517] "œ:"        "œ:"        "œ:"        "œ:"        "œ:"        "œ:"       
##  [523] "œ:"        "œ:"        "œ:"        "a:"        "a:"        "a:"       
##  [529] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
##  [535] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
##  [541] "u:"        "u:"        "u:"        "u:"        "u:"        "u:"       
##  [547] "u:"        "u:"        "u:"        "u:"        "u:"        "u:"       
##  [553] "u:"        "u:"        "u:"        "<U+0254>:" "<U+0254>:" "<U+0254>:"
##  [559] "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:"
##  [565] "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:"
##  [571] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
##  [577] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
##  [583] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##  [589] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##  [595] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##  [601] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
##  [607] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
##  [613] "<U+028F>"  "<U+028F>"  "<U+028F>"  "œ"         "œ"         "œ"        
##  [619] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
##  [625] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
##  [631] "a"         "a"         "a"         "a"         "a"         "a"        
##  [637] "a"         "a"         "a"         "a"         "a"         "a"        
##  [643] "a"         "a"         "a"         "<U+028A>"  "<U+028A>"  "<U+028A>" 
##  [649] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
##  [655] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
##  [661] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
##  [667] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
##  [673] "<U+0254>"  "<U+0254>"  "<U+0254>"  "i:"        "i:"        "i:"       
##  [679] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
##  [685] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
##  [691] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
##  [697] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
##  [703] "<U+026A>"  "<U+026A>"  "<U+026A>"  "e:"        "e:"        "e:"       
##  [709] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
##  [715] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
##  [721] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##  [727] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##  [733] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##  [739] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##  [745] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
##  [751] "y:"        "y:"        "y:"        "y:"        "y:"        "y:"       
##  [757] "y:"        "y:"        "y:"        "y:"        "y:"        "y:"       
##  [763] "y:"        "y:"        "y:"        "<U+028F>"  "<U+028F>"  "<U+028F>" 
##  [769] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
##  [775] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
##  [781] "œ:"        "œ:"        "œ:"        "œ:"        "œ:"        "œ:"       
##  [787] "œ:"        "œ:"        "œ:"        "œ:"        "œ:"        "œ:"       
##  [793] "œ:"        "œ:"        "œ:"        "œ"         "œ"         "œ"        
##  [799] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
##  [805] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
##  [811] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
##  [817] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
##  [823] "a:"        "a:"        "a:"        "a"         "a"         "a"        
##  [829] "a"         "a"         "a"         "a"         "a"         "a"        
##  [835] "a"         "a"         "a"         "a"         "a"         "a"        
##  [841] NA          NA          NA          NA          NA          NA         
##  [847] NA          NA          NA          NA          NA          NA         
##  [853] NA          NA          NA          "<U+028A>"  "<U+028A>"  "<U+028A>" 
##  [859] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
##  [865] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
##  [871] "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:"
##  [877] "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0254>:"
##  [883] "<U+0254>:" "<U+0254>:" "<U+0254>:" "<U+0259>"  "<U+0259>"  "<U+0259>" 
##  [889] "<U+0259>"  "<U+0259>"  "<U+0259>"  "<U+0259>"  "<U+0259>"  "<U+0259>" 
##  [895] "<U+0259>"  "<U+0259>"  "<U+0259>"  "<U+0259>"  "<U+0259>"  "<U+0259>" 
##  [901] "a"         "a"         "a"         "a"         "a"         "a"        
##  [907] "a"         "a"         "a"         "a"         "a"         "a"        
##  [913] "a"         "a"         "a"         "a:"        "a:"        "a:"       
##  [919] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
##  [925] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
##  [931] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##  [937] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##  [943] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##  [949] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##  [955] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
##  [961] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
##  [967] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
##  [973] "e:"        "e:"        "e:"        "<U+026A>"  "<U+026A>"  "<U+026A>" 
##  [979] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
##  [985] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
##  [991] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
##  [997] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
## [1003] "i:"        "i:"        "i:"        "<U+0254>"  "<U+0254>"  "<U+0254>" 
## [1009] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
## [1015] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
## [1021] "œ:"        "œ:"        "œ:"        "œ:"        "œ:"        "œ:"       
## [1027] "œ:"        "œ:"        "œ:"        "œ:"        "œ:"        "œ:"       
## [1033] "œ:"        "œ:"        "œ:"        "<U+0254>"  "<U+0254>"  "<U+0254>" 
## [1039] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
## [1045] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
## [1051] "œ:"        "œ:"        "œ:"        "œ:"        "œ:"        "œ:"       
## [1057] "œ:"        "œ:"        "œ:"        "œ:"        "œ:"        "œ:"       
## [1063] "œ:"        "œ:"        "œ:"        "<U+028A>"  "<U+028A>"  "<U+028A>" 
## [1069] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
## [1075] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
## [1081] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
## [1087] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
## [1093] "<U+028F>"  "<U+028F>"  "<U+028F>"  "u:"        "u:"        "u:"       
## [1099] "u:"        "u:"        "u:"        "u:"        "u:"        "u:"       
## [1105] "u:"        "u:"        "u:"        "u:"        "u:"        "u:"       
## [1111] "y:"        "y:"        "y:"        "y:"        "y:"        "y:"       
## [1117] "y:"        "y:"        "y:"        "y:"        "y:"        "y:"       
## [1123] "y:"        "y:"        "y:"        "<U+026A>"  "<U+026A>"  "<U+026A>" 
## [1129] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
## [1135] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
## [1141] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
## [1147] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
## [1153] "e:"        "e:"        "e:"        "<U+028A>"  "<U+028A>"  "<U+028A>" 
## [1159] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
## [1165] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
## [1171] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
## [1177] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
## [1183] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
## [1189] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
## [1195] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
## [1201] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
## [1207] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
## [1213] "œ"         "œ"         "œ"         "a"         "a"         "a"        
## [1219] "a"         "a"         "a"         "a"         "a"         "a"        
## [1225] "a"         "a"         "a"         "a"         "a"         "a"        
## [1231] "u:"        "u:"        "u:"        "u:"        "u:"        "u:"       
## [1237] "u:"        "u:"        "u:"        "u:"        "u:"        "u:"       
## [1243] "u:"        "u:"        "u:"        "y:"        "y:"        "y:"       
## [1249] "y:"        "y:"        "y:"        "y:"        "y:"        "y:"       
## [1255] "y:"        "y:"        "y:"        "y:"        "y:"        "y:"       
## [1261] "o:"        "o:"        "o:"        "o:"        "o:"        "o:"       
## [1267] "o:"        "o:"        "o:"        "o:"        "o:"        "o:"       
## [1273] "o:"        "o:"        "o:"        "i:"        "i:"        "i:"       
## [1279] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
## [1285] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
## [1291] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
## [1297] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
## [1303] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
## [1309] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
## [1315] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
## [1321] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
## [1327] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
## [1333] "œ"         "œ"         "œ"         "a:"        "a:"        "a:"       
## [1339] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
## [1345] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
## [1351] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
## [1357] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
## [1363] "e:"        "e:"        "e:"        "i:"        "i:"        "i:"       
## [1369] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
## [1375] "i:"        "i:"        "i:"        "i:"        "i:"        "i:"       
## [1381] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
## [1387] "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>"  "<U+026A>" 
## [1393] "<U+026A>"  "<U+026A>"  "<U+026A>"  "e:"        "e:"        "e:"       
## [1399] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
## [1405] "e:"        "e:"        "e:"        "e:"        "e:"        "e:"       
## [1411] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
## [1417] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B>" 
## [1423] "<U+025B>"  "<U+025B>"  "<U+025B>"  "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
## [1429] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
## [1435] "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>" "<U+025B><U+02D0>"
## [1441] "y:"        "y:"        "y:"        "y:"        "y:"        "y:"       
## [1447] "y:"        "y:"        "y:"        "y:"        "y:"        "y:"       
## [1453] "y:"        "y:"        "y:"        "<U+028F>"  "<U+028F>"  "<U+028F>" 
## [1459] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
## [1465] "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>"  "<U+028F>" 
## [1471] "ø:"        "ø:"        "ø:"        "ø:"        "ø:"        "ø:"       
## [1477] "ø:"        "ø:"        "ø:"        "ø:"        "ø:"        "ø:"       
## [1483] "ø:"        "ø:"        "ø:"        "œ"         "œ"         "œ"        
## [1489] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
## [1495] "œ"         "œ"         "œ"         "œ"         "œ"         "œ"        
## [1501] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
## [1507] "a:"        "a:"        "a:"        "a:"        "a:"        "a:"       
## [1513] "a:"        "a:"        "a:"        "a"         "a"         "a"        
## [1519] "a"         "a"         "a"         "a"         "a"         "a"        
## [1525] "a"         "a"         "a"         "a"         "a"         "a"        
## [1531] "u:"        "u:"        "u:"        "u:"        "u:"        "u:"       
## [1537] "u:"        "u:"        "u:"        "u:"        "u:"        "u:"       
## [1543] "u:"        "u:"        "u:"        "<U+028A>"  "<U+028A>"  "<U+028A>" 
## [1549] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
## [1555] "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>"  "<U+028A>" 
## [1561] "o:"        "o:"        "o:"        "o:"        "o:"        "o:"       
## [1567] "o:"        "o:"        "o:"        "o:"        "o:"        "o:"       
## [1573] "o:"        "o:"        "o:"        "<U+0254>"  "<U+0254>"  "<U+0254>" 
## [1579] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>" 
## [1585] "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"  "<U+0254>"

Vergleich mit IPA

(vgl_pivot <- vergleich %>% 
  group_by(vokal) %>% 
  pivot_longer(f1_l1:dauer_l2, names_to = "category", values_to = "value") %>% 
  separate(category, into = c("category", "l1_l2")) %>% 
  drop_na() %>% 
  pivot_wider(names_from = category, values_from = value)
)
## # A tibble: 30 x 7
## # Groups:   vokal [15]
##    vokal lange vowel     l1_l2    f1    f2 dauer
##    <chr> <chr> <chr>     <chr> <dbl> <dbl> <dbl>
##  1 a     kurz  a         l1     836  1586   82.8
##  2 a     kurz  a         l2     840. 1583.  73.7
##  3 a:    lang  a:        l1     896  1517  154. 
##  4 a:    lang  a:        l2     784  1632  208. 
##  5 e:    lang  e:        l1     434  2461  118. 
##  6 e:    lang  e:        l2     553. 2062. 140. 
##  7 E     kurz  <U+025B>  l1     608  2040   82.7
##  8 E     kurz  <U+025B>  l2     560  1953.  72.5
##  9 E:    lang  <U+025B><U+02D0> l1     584  2166  126. 
## 10 E:    lang  <U+025B><U+02D0> l2     566. 2062. 142. 
## # ... with 20 more rows
# par(family='Charis SIL')
(graph4 <- vgl_pivot %>% 
  drop_na() %>% 
  group_by(vokal, l1_l2, lange) %>% 
  ggplot(aes(f2,f1, label = vowel)) +
  geom_hex(alpha = 0.2, show.legend = F) +
  theme(text=element_text(size=16)) + # family = "Charis SIL"
  geom_text(aes(label = vowel, color = vowel), # family = "Charis SIL"
            vjust = 1, hjust = 1, check_overlap = T, show.legend = F, size = 6) +
  # geom_label(aes(x = mean(f2), y = mean(f1)), color = "black") + 
  # stat_ellipse() +
  scale_y_reverse() +
  scale_x_reverse(breaks = c(1000, 1250, 1500, 1750, 2000, 2250, 2500)) +
  facet_wrap(~ lange + l1_l2) +
  theme_light() + 
  labs(y = "Formant F1: tief >> hoch",
       x = "Formant F2: << vorne - hinten >>") +
  theme(#panel.grid.major=element_blank(),
        #panel.grid.minor=element_blank(),
        # text = element_text(family='Charis SIL'),
        plot.title = element_text(hjust = 0.5),
        legend.position = "none")
)
ggsave("pictures/vergleich_vokalformanten_lang_kurz_ipa.jpg")
## Saving 7 x 5 in image
library(plotly)
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
ggplotly(graph4) %>% layout(showlegend = FALSE)
font = list(
  # family = 'Charis SIL',
  family = 'Arial',
  size = 15,
  color = "black"
)

label = list(
  bgcolor = "white",
  bordercolor = "transparent",
  font = font
)

library(plotly)
(graph4_interactive <- ggplotly(graph4, tooltip=c("x", "y", "text")) %>% 
  style(hoverlabel = label) %>%
  layout(showlegend = FALSE,
         font = font,
         yaxis = list(fixedrange = TRUE),
         xaxis = list(fixedrange = TRUE)) %>%
  config(displayModeBar = FALSE, showTips = T)
)
library(htmlwidgets)
saveWidget(graph4_interactive, "pictures/vokalformanten_interaktiv_l1_l2_lang_kurz.html", 
           selfcontained = T)

# Sys.setenv("plotly_username"="dataslice")
# Sys.setenv("plotly_api_key"="x")
# 
# api_create(space_times, "Space Times")

# save it in html
library("htmlwidgets")
saveWidget(graph4_interactive,"tmp.html", selfcontained = F)

# and in pdf
library(webshot)
webshot("tmp.html","pictures/vokalformanten_interaktiv_l1_l2_lang_kurz.png", delay =5, vwidth = 1000, vheight=800)

webshot("tmp.html","pictures/vokalformanten_interaktiv_l1_l2_lang_kurz.pdf", delay =5, vwidth = 800, vheight=600)
(vgl_pivot <- vergleich %>% 
  group_by(vokal) %>% 
  pivot_longer(f1_l1:dauer_l2, names_to = "category", values_to = "value") %>% 
  separate(category, into = c("category", "l1_l2")) %>% 
  drop_na() %>% 
  pivot_wider(names_from = category, values_from = value)
)
## # A tibble: 30 x 7
## # Groups:   vokal [15]
##    vokal lange vowel     l1_l2    f1    f2 dauer
##    <chr> <chr> <chr>     <chr> <dbl> <dbl> <dbl>
##  1 a     kurz  a         l1     836  1586   82.8
##  2 a     kurz  a         l2     840. 1583.  73.7
##  3 a:    lang  a:        l1     896  1517  154. 
##  4 a:    lang  a:        l2     784  1632  208. 
##  5 e:    lang  e:        l1     434  2461  118. 
##  6 e:    lang  e:        l2     553. 2062. 140. 
##  7 E     kurz  <U+025B>  l1     608  2040   82.7
##  8 E     kurz  <U+025B>  l2     560  1953.  72.5
##  9 E:    lang  <U+025B><U+02D0> l1     584  2166  126. 
## 10 E:    lang  <U+025B><U+02D0> l2     566. 2062. 142. 
## # ... with 20 more rows
(graph5 <- vgl_pivot %>% 
  drop_na() %>% 
  group_by(vokal, l1_l2, lange) %>% 
  ggplot(aes(f2,f1)) +
  geom_hex(alpha = 0.2, show.legend = F) +
  geom_text(aes(label = vowel, color = vowel), 
            vjust = 1, hjust = 1, check_overlap = T, show.legend = F, size = 6) +
  scale_y_reverse() +
  scale_x_reverse(breaks = c(1000, 1250, 1500, 1750, 2000, 2250, 2500)) +
  facet_wrap(~ l1_l2) +
  theme_light() + 
  labs(y = "Formant F1: tief >> hoch",
       x = "Formant F2: << vorne - hinten >>")
)
ggsave("pictures/vergleich_vokalformanten_lang_kurz_ipa.jpg")
## Saving 7 x 5 in image
library(plotly)
ggplotly(graph5) %>% layout(showlegend = FALSE)

Messungen von TP mit Praat-Script (–> Matt Winn)

library(ggrepel)

(graph6 <- df %>% 
   filter(speaker != "Monika1") %>% 
    group_by(vowel, speaker, IPA) %>% 
  summarise(f1 = mean(F1),
            f2 = mean(F2)) %>% 
  ggplot(aes(f2,f1)) +
  geom_hex(alpha = 0.2, show.legend = F) +
  geom_text(aes(label = IPA, color = IPA),
            vjust = 1, hjust = 1, check_overlap = T, show.legend = F, size = 5) +
  # geom_label_repel(aes(label = IPA, color = IPA),
  #           vjust = 1, hjust = 1, check_overlap = T, show.legend = F, size = 5) +
  scale_y_reverse() +
  scale_x_reverse(breaks = c(1000, 1250, 1500, 1750, 2000, 2250, 2500)) +
  facet_wrap(~ speaker) +
  # theme_light() + 
  theme(axis.text.x = element_text(angle = 60, hjust = 1)) +
  labs(y = "Formant F1: tief >> hoch",
       x = "Formant F2: << vorne - hinten >>")
 )
## `summarise()` has grouped output by 'vowel', 'speaker'. You can override using the `.groups` argument.
## Warning: Removed 1 rows containing missing values (geom_text).
ggsave("pictures/messungen_tp_vokalformanten_ipa.jpg", dpi = 100, width = 10, height = 10)
## Warning: Removed 1 rows containing missing values (geom_text).
library(plotly)
ggplotly(graph6) %>% layout(showlegend = FALSE)
vowlist1 <- c("i:","I","ü:","Ü","e:","E","ö:","Ö","E:","a:","a","o:","O","u:","U") # unsere Symbole
vowlist2 = c("i:","I","ue:","Ue","e:","E","oe:","Oe","E:","a:","a","o:","O","u:","U") # Umlautsymbole ersetzt
vowlist3 = c("i:","I","y:","Y","e:","E","2:","9","E:","a:","a","o:","O","u:","U") # Sampa
vowlist4 = c("i:","I","ii:","II","e:","E","ee:","EE","E:","a:","a","o:","O","u:","U") # Verdoppelung langer Vokale
vokale_agg <- vokale %>% 
  group_by(vokal, lange, l1_l2) %>% 
  summarise(f1_avg = mean(f1),
            f2_avg = mean(f2),
            dauer_avg = mean(dauer))
## `summarise()` has grouped output by 'vokal', 'lange'. You can override using the `.groups` argument.
ipavow2 = c(a,A,E,e,EE,I,i,O,OE,o,oe,U,Y,u,y) %>%  as_tibble() %>% rename(vowel = value)

vokale_agg1 <- vokale_agg %>% filter(l1_l2 == "L1") %>% cbind(ipavow2)
vokale_agg2 <- vokale_agg %>% filter(l1_l2 == "L2") %>% cbind(ipavow2)
(vokale_agg <- rbind(vokale_agg1, vokale_agg2) %>% as_tibble())
## # A tibble: 30 x 7
##    vokal lange l1_l2 f1_avg f2_avg dauer_avg vowel    
##    <chr> <chr> <chr>  <dbl>  <dbl>     <dbl> <chr>    
##  1 a     kurz  L1      770.  1948.      94.5 a        
##  2 a:    lang  L1      877   1711.     226   a:       
##  3 E     kurz  L1      515   2114.      55.8 <U+025B> 
##  4 e:    lang  L1      592.  2621.     131.  e:       
##  5 E:    lang  L1      630   2140.     135.  <U+025B><U+02D0>
##  6 I     kurz  L1      645.  2310.      49.8 <U+026A> 
##  7 i:    lang  L1      546.  2666      122.  i:       
##  8 O     kurz  L1      567   1338.      81   <U+0254> 
##  9 Ö     kurz  L1      470.  1972.      85.5 œ        
## 10 o:    lang  L1      424.  1107      134.  o:       
## # ... with 20 more rows
# c("i:","I","ü:","Ü","e:","E","ö:","Ö","E:","a:","a","o:","O","u:","U")
library(tidytext)
## Warning: package 'tidytext' was built under R version 4.0.5
library(ggrepel)

(graph <- vokale %>% 
  group_by(vokal, l1_l2, color = vokal, label = vokal, fill = vokal, shape = vokal) %>% 
  ggplot(aes(f2,f1)) +
  geom_hex(alpha = 0.2, show.legend = F) +
  geom_label(data = vokale_agg, label = vokale_agg$vowel, aes(x = f2_avg, y = f1_avg), color = "black") + 
  stat_ellipse(level = 0.67, geom = "polygon", alpha = 0.2) +
  scale_color_discrete(breaks = c("a","a:","e:","E","E:","I","i:","O","o:","U","u:","Y","y:","Ö","ö")) +
  # geom_text(aes(label = vokal, color = vokal), vjust = 1, hjust = 1, check_overlap = T, show.legend = F) +
  scale_y_reverse() +
  scale_x_reverse() +
  facet_wrap(~ l1_l2) +
  theme_light() + 
  guides(color = F) +
  labs(y = "Formant F1: tief >> hoch",
       x = "Formant F2: << vorne - hinten >>")
)
(graph <- vokale_agg %>% 
  group_by(vokal, l1_l2, label = vowel) %>% 
  ggplot(aes(f2_avg,f1_avg)) +
  geom_hex(alpha = 0.2, show.legend = F) +
  geom_text(aes(label = vowel, color = vowel), 
            size = 6, vjust = 1, hjust = 1, check_overlap = T, show.legend = F) +
  scale_y_reverse() +
  scale_x_reverse() +
  facet_wrap(~ l1_l2) +
  theme_light() + 
  labs(y = "Formant F1: tief >> hoch",
       x = "Formant F2: << vorne - hinten >>")
)
ggsave("pictures/vokalformanten.jpg")
## Saving 7 x 5 in image
library(plotly)
ggplotly(graph) %>% layout(showlegend = FALSE)
(vgl_pivot <- vergleich %>% 
  group_by(vokal) %>% 
  pivot_longer(f1_l1:dauer_l2, names_to = "category", values_to = "value") %>% 
  separate(category, into = c("category", "l1_l2")) %>% 
  drop_na() %>% 
  pivot_wider(names_from = category, values_from = value)
)
## # A tibble: 30 x 7
## # Groups:   vokal [15]
##    vokal lange vowel     l1_l2    f1    f2 dauer
##    <chr> <chr> <chr>     <chr> <dbl> <dbl> <dbl>
##  1 a     kurz  a         l1     836  1586   82.8
##  2 a     kurz  a         l2     840. 1583.  73.7
##  3 a:    lang  a:        l1     896  1517  154. 
##  4 a:    lang  a:        l2     784  1632  208. 
##  5 e:    lang  e:        l1     434  2461  118. 
##  6 e:    lang  e:        l2     553. 2062. 140. 
##  7 E     kurz  <U+025B>  l1     608  2040   82.7
##  8 E     kurz  <U+025B>  l2     560  1953.  72.5
##  9 E:    lang  <U+025B><U+02D0> l1     584  2166  126. 
## 10 E:    lang  <U+025B><U+02D0> l2     566. 2062. 142. 
## # ... with 20 more rows
(graph2 <- vgl_pivot %>% 
  drop_na() %>% 
  group_by(vokal, l1_l2) %>% 
  ggplot(aes(f2,f1)) +
  geom_hex(alpha = 0.2, show.legend = F) +
  geom_text(aes(label = vowel, color = vowel), 
            size = 6, vjust = 1, hjust = 1, check_overlap = T, show.legend = F) +
  scale_y_reverse() +
  scale_x_reverse(breaks = c(1000, 1250, 1500, 1750, 2000, 2250, 2500)) +
  facet_wrap(~ l1_l2) +
  theme_light() + 
  labs(y = "Formant F1: tief >> hoch",
       x = "Formant F2: << vorne - hinten >>")
)
ggsave("pictures/vergleich_vokalformanten.jpg")
## Saving 7 x 5 in image
library(plotly)
ggplotly(graph2) %>% layout(showlegend = FALSE)
(vgl_pivot <- vergleich %>% 
  group_by(vokal) %>% 
  pivot_longer(f1_l1:dauer_l2, names_to = "category", values_to = "value") %>% 
  separate(category, into = c("category", "l1_l2")) %>% 
  drop_na() %>% 
  pivot_wider(names_from = category, values_from = value)
)
## # A tibble: 30 x 7
## # Groups:   vokal [15]
##    vokal lange vowel     l1_l2    f1    f2 dauer
##    <chr> <chr> <chr>     <chr> <dbl> <dbl> <dbl>
##  1 a     kurz  a         l1     836  1586   82.8
##  2 a     kurz  a         l2     840. 1583.  73.7
##  3 a:    lang  a:        l1     896  1517  154. 
##  4 a:    lang  a:        l2     784  1632  208. 
##  5 e:    lang  e:        l1     434  2461  118. 
##  6 e:    lang  e:        l2     553. 2062. 140. 
##  7 E     kurz  <U+025B>  l1     608  2040   82.7
##  8 E     kurz  <U+025B>  l2     560  1953.  72.5
##  9 E:    lang  <U+025B><U+02D0> l1     584  2166  126. 
## 10 E:    lang  <U+025B><U+02D0> l2     566. 2062. 142. 
## # ... with 20 more rows
(graph3 <- vgl_pivot %>% 
  drop_na() %>% 
  group_by(vokal, l1_l2, lange) %>% 
  ggplot(aes(f2,f1)) +
  geom_hex(alpha = 0.2, show.legend = F) +
  geom_text(aes(label = vowel, color = vowel), 
            size = 6, vjust = 1, hjust = 1, check_overlap = T, show.legend = F) +
  scale_y_reverse() +
  scale_x_reverse(breaks = c(1000, 1250, 1500, 1750, 2000, 2250, 2500)) +
  facet_wrap(~ lange + l1_l2) +
  theme_light() + 
  labs(y = "Formant F1: tief >> hoch",
       x = "Formant F2: << vorne - hinten >>")
)
ggsave("pictures/vergleich_vokalformanten_lang_kurz.jpg")
## Saving 7 x 5 in image
library(plotly)
ggplotly(graph2) %>% layout(showlegend = FALSE)
library(phonR)

par(mfrow = c(1, 1))
with(vokale_agg, plotVowels(f1_avg, f2_avg, vowel, group = lange, pch.tokens = vowel, cex.tokens = 1.2, 
    alpha.tokens = 0.3, plot.means = TRUE, pch.means = vowel, cex.means = 2, var.col.by = vowel, 
    var.sty.by = lange, hull.fill = TRUE, hull.line = TRUE, fill.opacity = 0.1, 
    pretty = TRUE))
# 1. Open jpeg file
jpeg("pictures/phonR_vowel_space.jpg", 
     width = 840, height = 535)
# 2. Create the plot
with(vokale_agg, plotVowels(f1_avg, f2_avg, vowel, group = lange, pch.tokens = vowel, cex.tokens = 1.2, 
    alpha.tokens = 0.3, plot.means = TRUE, pch.means = vowel, cex.means = 2, var.col.by = vowel, 
    var.sty.by = lange, hull.fill = TRUE, hull.line = TRUE, fill.opacity = 0.1, 
    pretty = TRUE))
# 3. Close the file
dev.off()
## cairo_pdf 
##         2
library(phonR)

par(mfrow = c(1, 1))
with(vokale, plotVowels(f1, f2, vokal, group = lange, pch.tokens = vokal, cex.tokens = 1.2, 
    alpha.tokens = 0.3, plot.means = TRUE, pch.means = vokal, cex.means = 2, var.col.by = lange, 
    var.sty.by = lange, hull.fill = TRUE, hull.line = TRUE, fill.opacity = 0.1, 
    pretty = TRUE))
# 1. Open jpeg file
jpeg("pictures/phonR_vowel_space2.jpg", 
     width = 840, height = 535)
# 2. Create the plot
with(vokale, plotVowels(f1, f2, vokal, group = lange, pch.tokens = vokal, cex.tokens = 1.2, 
    alpha.tokens = 0.3, plot.means = TRUE, pch.means = vokal, cex.means = 2, var.col.by = lange, 
    var.sty.by = lange, hull.fill = TRUE, hull.line = TRUE, fill.opacity = 0.1, 
    pretty = TRUE))
# 3. Close the file
dev.off()
## cairo_pdf 
##         2

IPA glyphs

Author: Romeo Mlinar Mail: mlinar [a] languagebits.com Url: http://www.languagebits.com/?p=766

# Diphthongs in ASCII 
diph.names.ascii <- c('ey', 'ey', 'ay', 'ay', 'oy', 'oy',
                  'ow', 'ow', 'aw', 'aw', 'ia', 'ia',
                  'ea', 'ea', 'ua', 'ua')
# Diphthong in hexadecimal values
# Available from: http://www.phon.ucl.ac.uk/home/wells/ipa-unicode.htm
diph.names.ipa <- c('e\u026A', 'a\u026A', '\u0254\u026A', 
            '\u0259\u028A', '\u0251\u028A', '\u026A\u0259', 
            '\u025B\u0259', '\u028A\u0259')
# Sample data
data.sample <- c(1:8)

# Make data frame for values
toplot <- data.frame( diph.names.ipa, data.sample)

#Draw a simple graph.
# plot(toplot, main='IPA Symbols in R Graph')

toplot %>% 
  ggplot(aes(diph.names.ipa, data.sample)) +
  geom_point() +
  labs(title = 'IPA Symbols in R Graph')
# 1. Open jpeg file
jpeg("pictures/ipa_symbols.jpg", 
     width = 840, height = 535)
# 2. Create the plot
toplot %>% 
  ggplot(aes(diph.names.ipa, data.sample)) +
  geom_point() +
  labs(title = 'IPA Symbols in R Graph')
# 3. Close the file
dev.off()
## cairo_pdf 
##         2